A data communications network generally includes a group of interconnected communication channels which provides intercommunication among a combination of elements or devices, for instance, computers, peripherals, etc. Historically, networks have been constructed by utilizing communication channels formed from coaxial cables and/or twisted pair cable configurations and interconnected via a suitable interface, or network switch.
Fiber optic cables are increasingly being used in the network industry, instead of coaxial cables and twisted pairs, because of their much broader bandwidth, better propagation properties, and other optimal transmission characteristics. Recently, the Fibre Channel protocol was developed and adopted as the American National Standard For information Systems (ANSI). The Fibre Channel industry standard is described in detail in, for example, Fibre Channel Physical And Siqnalling Interface, Rev. 4.2, American National Standard For Information Systems (ANSI) (1993). The Fibre Channel industry standard provides for much higher performance and greater flexibility than previous industry standards by allowing for variable-length data frames to be communicated through fiber optic networks which comply with the standard.
A variable-length frame 11 is illustrated in FIG. 1. The variable-length frame 11 comprises a 4-byte start-of-frame (SOF) indicator 12, which is a particular binary sequence indicative of the beginning of the frame 11. The SOF indicator 12 is followed by a 24-byte header 14, which generally specifies, among other things, the frame source address and destination address as well as whether the frame 11 is either control information or actual data. The header 14 is followed by a field of variable-length data 16. The length of the data 16 is 0 to 2112 bytes. The data 16 is followed successively by a 4-byte CRC (cyclical redundancy check) code 17 for error detection, and by a 4 byte end-of-frame (EOF) indicator 18. The frame 11 of FIG. 1 is much more flexible than a fixed frame and provides for higher performance by accommodating the specific needs of specific applications.
The Fibre Channel industry standard also provides for several different types of data transfers. A class 1 transfer requires circuit switching, i.e., a reserved data path through the network switch, and generally involves the transfer of more than one data frame, oftentimes numerous data frames, between the network elements. In contrast, a class 2 transfer requires allocation of a path through the network switch for each transfer of a single frame from one network element to another.
To date, fiber optic switches for implementing networks in accordance with the Fibre Channel industry standard are in a state of infancy. One such fiber optic switch known in the industry is ANCOR, which is manufactured by and made commercially available from IBM, U.S.A. However, the performance of the ANCOR interface is less than optimal for many applications and can be improved significantly. Moreover, the rudimentary ANCOR interface is inflexible in that it provides for primarily circuit switching for class 1 transfers and is very limited with respect to frame switching for class 2 transfers.
Unlike circuit switching for class 1 transfers, frame switching for class 2 transfers is unfortunately much more difficult to implement. Frame switching requires a memory mechanism for temporarily storing an incoming frame prior to routing of the frame. Such a memory mechanism can add undesirable complexity and hardware to an interface and the need for numerous input/output (I/O) connections with associated support circuitry. This is especially true when channels carrying data at different bit rates are to be interfaced.
Thus, a heretofore unaddressed need exists in the industry for new and improved systems for implementing the Fibre Channel industry standard for fiber optic networks with much higher performance and flexibility than presently existing systems. Particularly, there is a significant need for a memory architecture which can accommodate frame storage with high performances while simplifying the memory input/output interface, minimizing hardware requirements, and accommodating varying channel bit rates.